package com.wn.icloud.provider.uac.remote;

import com.wn.icloud.provider.uac.remote.vo.GroupOrgInfResVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 *  远程调用角色权限
 */
@FeignClient(value = "icloud-provider-uac", contextId = "group")
public interface GroupFeignApi {

    /**
     * 获取车间组织信息
     * @param
     * @return List<GroupOrgInfResVo>
     */
    @GetMapping(value = "/group/groupMcOrgInfo")
    List<GroupOrgInfResVo> groupMcOrgInfo();
    /**
     * 根据车间组织编号获取车间组织信息
     * @param orgCode
     * @return GroupOrgInfo
     */
    @GetMapping(value = "/group/getGroupOrgInfoByOrgCode")
    GroupOrgInfResVo getGroupOrgInfoByOrgCode(@RequestParam("orgCode") String orgCode);

    /**
     * 根据车间组织名称获取车间组织id
     * @param orgName
     * @return Integer
     */
    @GetMapping(value = "/group/getIdByName")
    Integer getIdByName(@RequestParam("orgName") String orgName);

    /**
     * 根据车间组织Id获取车间组织信息
     * @param orgId
     * @return GroupOrgInfo
     */
    @GetMapping(value = "/group/getGroupOrgInfoByOrgId")
    GroupOrgInfResVo getGroupOrgInfoByOrgId(@RequestParam("orgId") Integer orgId);

    /**
     * 根据用户id获取所在车间组织信息
     * @param userId
     * @return GroupOrgInfResVo
     */
    @GetMapping(value = "/group/getGroupOrgByUserId")
    GroupOrgInfResVo getGroupOrgByUserId(@RequestParam("userId") String userId);
}
